<?php 
//incluimos 
include_once("Conexion.php");

//Declaracion
class M_Noticia {
    
    private $idNoticia;
    private $titulo;
    private $cuerpo;
    private $fechaPublicacion;
    private $rutaImagen;
    private $isActive;

    //Métodos Get & Set
    function getIdNoticia() {
        return $this->idNoticia;
    }

    function setIdNoticia($idNoticia) {
        $this->idNoticia = $idNoticia;
    }
    
    function getTitulo() {
        return $this->titulo;
    }

    function setTitulo($titulo) {
        $this->titulo = $titulo;
    }
    
    function getCuerpo() {
        return $this->cuerpo;
    }

    function setCuerpo($cuerpo) {
        $this->cuerpo = $cuerpo;
    }
    
    function getFechaPublicacion() {
        return $this->fechaPublicacion;
    }

    function setFechaPublicacion($fechaPublicacion) {
        $this->fechaPublicacion = $fechaPublicacion;
    }
    
    function getRutaImagen(){
        return $this->rutaImagen;
    }

    function setRutaImagen($rutaImagen){
        $this->rutaImagen = $rutaImagen;
    }

    function getIsActive(){
        return $this->isActive;
    }

    function setIsActive($isActive){
        $this->isActive = $isActive;
    }
    
    //Método utilizado para Insertar un Registro
    function insertarNoticia() {
        $rpta;
        try {
            //Creamos un objeto de la clase conexion
            $miconexion = new Conexion();
            //Obtenemos la conexion
            $cn = $miconexion->conectar();
            //Comenzamos la transaccion
            mysql_query("BEGIN", $cn);
            //Elaboramos la sentencia
            $sql = " insert into tbl_noticia(vc_titulo,vc_cuerpo,dt_fecha_publicacion,vc_ruta_imagen,bo_isactive)
                            values('$this->titulo','$this->cuerpo',now(),'$this->rutaImagen',true) ";
            //Ejecutamos la sentencia
            $result = mysql_query($sql, $cn);
            if (!$result) {
                //Si no obtiene resultados anulamos la transaccion
                mysql_query("ROLLBACK", $cn);
                $rpta = false;
            } else {
                //Si obtiene resultados confirmamos la transaccion
                mysql_query("COMMIT", $cn);
                $rpta = true;
            }
            //Cerramos la conexion
            mysql_close($cn);
        } catch (exception $e) {
            try {
                mysql_query("ROLLBACK", $cn);
            } catch (exception $e1) {

            }
            try {
                mysql_close($cn);
            } catch (exception $e1) {

            }
            $rpta = false;
        }
        return $rpta;
    }
    
    //Método utilizado para Actualizar un Registro
    function updateNoticia() {
        $rpta;
        try {
            //Creamos un objeto de la clase conexion
            $miconexion = new Conexion();
            //Obtenemos la conexion
            $cn = $miconexion->conectar();
            //Comenzamos la transaccion
            mysql_query("BEGIN", $cn);
            //Elaboramos la sentencia
            $sql = " update tbl_noticia set
                    vc_titulo='$this->titulo',
                    vc_cuerpo='$this->cuerpo',
                    vc_ruta_imagen='$this->rutaImagen'
                    where id_noticia='$this->idNoticia' ";
            //Ejecutamos la sentencia
            $result = mysql_query($sql, $cn);
            if (!$result) {
                //Si no obtiene resultados anulamos la transaccion
                mysql_query("ROLLBACK", $cn);
                $rpta = false;
            } else {
                //Si obtiene resultados confirmamos la transaccion
                mysql_query("COMMIT", $cn);
                $rpta = true;
            }
            //Cerramos la conexion
            mysql_close($cn);
        } catch (exception $e) {
            try {
                mysql_query("ROLLBACK", $cn);
            } catch (exception $e1) {

            }
            try {
                mysql_close($cn);
            } catch (exception $e1) {

            }
            $rpta = false;
        }
        return $rpta;
    }
    
    //Método utilizado para Actualizar un Registro sin Imagen
    function updateNoticiaSinImagen() {
        $rpta;
        try {
            //Creamos un objeto de la clase conexion
            $miconexion = new Conexion();
            //Obtenemos la conexion
            $cn = $miconexion->conectar();
            //Comenzamos la transaccion
            mysql_query("BEGIN", $cn);
            //Elaboramos la sentencia
            $sql = " update tbl_noticia set
                    vc_titulo='$this->titulo',
                    vc_cuerpo='$this->cuerpo'
                    where id_noticia='$this->idNoticia' ";
            //Ejecutamos la sentencia
            $result = mysql_query($sql, $cn);
            if (!$result) {
                //Si no obtiene resultados anulamos la transaccion
                mysql_query("ROLLBACK", $cn);
                $rpta = false;
            } else {
                //Si obtiene resultados confirmamos la transaccion
                mysql_query("COMMIT", $cn);
                $rpta = true;
            }
            //Cerramos la conexion
            mysql_close($cn);
        } catch (exception $e) {
            try {
                mysql_query("ROLLBACK", $cn);
            } catch (exception $e1) {

            }
            try {
                mysql_close($cn);
            } catch (exception $e1) {

            }
            $rpta = false;
        }
        return $rpta;
    }
    
    //Metodo utilizado para obtener todos los registros activos
    function buscarNoticias() {
        //Le deciamos que la locacion es lenguaje español
        setlocale(LC_CTYPE, 'es');
        //La sentencia a ejecutar
        $sql = " SELECT * FROM tbl_noticia where bo_eliminado=false
                order by dt_fecha_publicacion desc
                limit 4 ";
        try {
            //Creamos un objeto de la clase conexion
            $miconexion = new Conexion();
            //Obtenemos la conexion
            $cn = $miconexion->conectar();
            //Ejecutamos la sentencia
            $rs = mysql_query($sql, $cn);
            //Creamos un array que almacenara los datos de la sentencia
            $registros = array();
            //Recorremos el resultado de la consulta y lo almacenamos en el array
            while ($reg = mysql_fetch_array($rs)) {
                array_push($registros, $reg);
            }
            //Liberamos recursos
            mysql_free_result($rs);
            mysql_close($cn);
        } catch (exception $e) {
            try {
                mysql_free_result($rs);
            } catch (exception $e) {

            }
            try {
                mysql_close($cn);
            } catch (exception $e) {

            }
        }
        return $registros;
    }
    
    //Metodo utilizado para obtener un registro
    function buscarNoticia_Uno() {
        //Le deciamos que la locacion es lenguaje español
        setlocale(LC_CTYPE, 'es');
        //La sentencia a ejecutar
        $sql = " SELECT id_noticia,vc_titulo,vc_cuerpo,date_format(dt_fecha_publicacion,'%Y') as anio, 
        date_format(dt_fecha_publicacion,'%m') as mes,date_format(dt_fecha_publicacion,'%w') as dialetras,
        date_format(dt_fecha_publicacion,'%d') as diadelmes,vc_ruta_imagen
        from tbl_noticia
        where id_noticia=$this->idNoticia and bo_isactive=true ";
        try {
            //Creamos un objeto de la clase conexion
            $miconexion = new Conexion();
            //Obtenemos la conexion
            $cn = $miconexion->conectar();
            //Ejecutamos la sentencia
            $rs = mysql_query($sql, $cn);
            //Creamos un array que almacenara los datos de la sentencia
            $registros = array();
            //Recorremos el resultado de la consulta y lo almacenamos en el array
            while ($reg = mysql_fetch_array($rs)) {
                array_push($registros, $reg);
            }
            //Liberamos recursos
            mysql_free_result($rs);
            mysql_close($cn);
        } catch (exception $e) {
            try {
                mysql_free_result($rs);
            } catch (exception $e) {

            }
            try {
                mysql_close($cn);
            } catch (exception $e) {

            }
        }
        return $registros;
    }
    
}
?>